package com.cys.markdown.doc.project.entity;

import java.util.Date;
import java.util.List;

import com.cys.markdown.doc.project.interfaces.entity.IProjectInfo;
import com.fasterxml.jackson.annotation.JsonIgnore;

import javax.persistence.*;

/**
 * T_PROJECT_INFO【项目信息表】实体类
 *
 * @author caiyushen
 */
@Entity
@Table(name = "T_PROJECT_INFO")
public class ProjectInfo implements IProjectInfo {

    private static final long serialVersionUID = 5864224366123352064L;


    /**
     * 主键
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "PROJECT_INFO_ID", columnDefinition = "bigint COMMENT '主键标识'")
    private Long projectInfoId;

    /**
     * 父级主键
     */
    @Column(name = "PROJECT_PARENT_ID", columnDefinition = "bigint COMMENT '父级主键'")
    private Long projectParentId;

    /**
     * 项目名称
     */
    @Column(name = "PROJECT_INFO_NAME", columnDefinition = "varchar(256) COMMENT '项目名称'")
    private String projectInfoName;


    /**
     * 项目描述
     */
    @Column(name = "PROJECT_INFO_CONTENT", columnDefinition = "varchar(512) COMMENT '项目描述'")
    private String projectInfoContent;


    /**
     * 删除标识 1:可用 2:未删除
     */
    @JsonIgnore
    @Column(name = "DEL_STATUS", columnDefinition = "int COMMENT '删除标识'")
    private Integer delStatus;


    /**
     * 创建时间
     */
    @JsonIgnore
    @Column(name = "CREATE_DATE", columnDefinition = "datetime COMMENT '创建时间'")
    private Date createDate;


    /**
     * 修改时间
     */
    @JsonIgnore
    @Column(name = "MODIFY_DATE", columnDefinition = "datetime COMMENT '修改时间'")
    private Date modifyDate;

    @Override
    public Long getProjectInfoId() {
        return projectInfoId;
    }

    @Override
    public void setProjectInfoId(Long projectInfoId) {
        this.projectInfoId = projectInfoId;
    }

    @Override
    public Long getProjectParentId() {
        return projectParentId;
    }

    @Override
    public void setProjectParentId(Long projectParentId) {
        this.projectParentId = projectParentId;
    }

    @Override
    public String getProjectInfoName() {
        return projectInfoName;
    }

    @Override
    public void setProjectInfoName(String projectInfoName) {
        this.projectInfoName = projectInfoName;
    }

    @Override
    public String getProjectInfoContent() {
        return projectInfoContent;
    }

    @Override
    public void setProjectInfoContent(String projectInfoContent) {
        this.projectInfoContent = projectInfoContent;
    }

    @Override
    public Integer getDelStatus() {
        return delStatus;
    }

    @Override
    public void setDelStatus(Integer delStatus) {
        this.delStatus = delStatus;
    }

    @Override
    public Date getCreateDate() {
        return createDate;
    }

    @Override
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    @Override
    public Date getModifyDate() {
        return modifyDate;
    }

    @Override
    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    @Override
    public List<IProjectInfo> getChildrenList() {
        return null;
    }

    @Override
    public void setChildrenList(List<IProjectInfo> childrenList) {
    }

    @Override
    public String toString() {
        return "ProjectInfo{" +
                "projectInfoId=" + projectInfoId +
                ", projectParentId=" + projectParentId +
                ", projectInfoName='" + projectInfoName + '\'' +
                ", projectInfoContent='" + projectInfoContent + '\'' +
                ", delStatus=" + delStatus +
                ", createDate=" + createDate +
                ", modifyDate=" + modifyDate +
                '}';
    }


}
 






